//声明数值类型的变量age，但不予赋值,此时其为Undefined类型
let ndf;
console.log(ndf) //undefined

//Number类型
let age:number = 18
let stature:number = 178.5
console.log(age)
console.log(stature)

//string类型
var str:string = "字符串"
console.log(str)

//boolean布尔类型
var b:boolean = true
var c:boolean = false

//enum 类型
enum REN{ nan , nv ,Other}
console.log(REN.Other)  //返回了2，这是索引index，跟数组很想。

enum REN_{
    nan = '男',
    nv = '女',
    Other= '妖'
}
console.log(REN_.Other)  //返回了妖 这个字

//any类型
var t:any =10 
t = "jspang"
t = true
console.log(t)

//声明数组的方法
//声明数组跟声明一个普通变量是一样的，都是通过 var let 关键字实现的，只不过数组的类型说明符比较复杂而已。
let arr1_:number[ ]     //声明一个数值类型的数组
let arr2_:Array<string>  //声明一个字符串类型的数组

//给数组赋值
    //字面量赋值法
        //定义一个空数组，数组容量为0
        let arr1_v:number[] = [] 
        //定义一个数组时，直接给数组赋值
        let arr2_v:number[] = [1,2,3,4,5]
        //定义数组 的同时给数组赋值
        let arr3_v:Array<string> = ['jspang','技术胖','金三胖']
        let arr4_v:Array<boolean> = [ true,false,false]
    //构造函数赋值法
    let arr1_c:number[] = new Array()
    let ara2_c:number[] = new Array(1,2,3,4,5)
    let arr3_c:Array<string> = new Array('jspang','技术胖','金三胖')
    let arr4_c:Array<boolean> = new Array(true,false,false)